剛開始使用 Hermes 時,一段對話通常很單純:問一件事、處理一個任務,做完就結束。
但真的開始拿它處理工作後,事情很快就沒這麼單純了。
一開始只是請它比較三套 CRM,聊著聊著,開始談導入預算、資料搬遷、教育訓練,最後整場對話已經變成一份「CRM 導入計畫」。
又或者,我已經跟 Hermes 確認好一堆條件,做到一半突然冒出另一個想法:「如果換一種做法呢?」
更麻煩的是,對話越來越長。前面為了探索問題查了一堆資料、試過好幾條死路,後面其實已經用不到了,卻還一直跟著整場工作往下走。
這時候,開始需要管理 Hermes 現在帶著哪些前後脈絡。
Hermes 會把每一段持續進行的對話保存成一個 Session(對話工作階段)。你可以先把它想成一場「之後還能回來繼續做」的對話紀錄。Hermes 會保存這些對話紀錄的細節,也會替它們產生方便辨識的名稱。
而在輸入框裡使用 Slash Command(斜線指令),就可以進一步整理這個 Session。

這篇先看三個我認為很適合新手先學的:
/title:將 Session 重新命名
/branch:分支出副本
/compress:整理越來越肥的 Context 上下文
看起來只是三個小指令,背後其實都在處理同一件事:不要讓對話串越用越亂。

Hermes 本身會幫工作對話產生 Title(標題),所以我們通常不需要每開一場對話就手動命名。
目前 Hermes 的自動命名機制,會從前面的使用者訊息產生一個簡短、方便之後搜尋的名稱。
問題是,工作會隨著對談的愈深入而產生變化。
假設我一開始開了一場對話:
幫我比較三套適合 50 人公司的 CRM。
Hermes 可能幫它取了一個類似:
Compare CRM options
這時完全沒問題。
可是接著我們開始比較報價、討論資料搬遷、盤點導入時程,最後甚至排出了教育訓練計畫。
兩個星期後,我想回來找這份資料,腦中想的是:
「之前那份 CRM 導入計畫放哪了?」
卻不一定會想到它當初叫做「Compare CRM options」。
我們可以用 /title 為該對話串做重新命名,所以這時就可以直接改:
/title 2027 CRM 導入計畫
官方的 /title [name] 就是用來設定或查看目前這場對話的名稱。
這個功能看似沒什麼,但 Session 一多之後非常實用。Session 名稱要容易辨識、搜尋,「它現在已經變成什麼」,比「一開始是什麼什麼」來的重要。
尤其當 Hermes 開始變成長期工作工具之後,很多時候你會需要去找以前的對話過程、結果。
R森小叮嚀
當你在為 Session 命名時,也可考慮增加特殊符號前綴,這個小技巧能讓你一眼就能夠看出對話的類型是什麼。

/branch 蠻有意思的,像是打遊戲時,在關鍵決擇前,先存檔的概念。(BTW,33 號遠征隊強烈推薦大家去玩玩)
Branch 的中文的意思可以理解成「分支」。
它適合用在這種情況:
前面的條件我都想保留,但接下來我想認真試另一條路。
例如要規劃公司部門旅遊,我已經跟 Hermes 確認好:
聊到這裡,突然出現兩個方向。
A 方案是宜蘭兩天一夜。
B 方案是台北近郊一日活動。
最直覺的做法,是先在同一場對話裡把宜蘭方案研究完,再跟 Hermes 說:
好,現在全部換掉,改成一日活動。
它不是做不到。
問題是,前面可能已經討論了住宿、退房時間、兩天的包車方式、晚餐安排,甚至為了住宿調整過預算,這些東西都已經進到 Context(上下文)裡了。
Context 可以先理解成:Hermes 現在這個對話中帶在身上,用來判斷接下來該怎麼回答、怎麼做的背景資訊。
當我明明已經切換到「不住宿的一日活動」,前面大量住宿相關的討論卻還留在同一份上下文裡,它們就可能繼續影響後面的判斷。
這種時候,我們就可以切一個分支出來:
/branch

如果想順便直接改命名的話:
/branch 台北近郊一日遊
Hermes 官方把 /branch 定義為「從目前這場對話建立一個分支,探索不同路線」。目前的實作會以既有對話作為新分支的基礎,再讓兩邊各自繼續發展。(平行宇宙的概念)
這很像文件做到一半「另存新檔」。
前面已經確認好的共同條件不用重講,但從這裡開始:
原本那份繼續研究「宜蘭兩天一夜」。
新的分支專心研究「台北近郊一日遊」。
兩條路就不需要一直把彼此後來產生的資訊混在一起。

我會用一個簡單的方法判斷。
如果是完全不同的事情,直接開新的 Sessison 就好。
例如原本在規劃部門旅遊,突然想叫 Hermes 幫忙整理下週會議議程,兩件事根本沒有共用前後文,那就沒必要切分支出來。
但如果是:
「前面這些條件都一樣,只是從現在開始,我想試另一套方案。」
這就是 /branch 很適合出場的時候。
它真正要解決的是避免兩條已經開始往不同方向走的工作脈絡,一直擠在同一份上下文裡彼此累積汙染。
R森小叮嚀
目前 Hermes 的 Branch 還有一個使用上得知道的細節:近期的官方程式碼與 Issue 顯示,分支會保留主要可見的對話脈絡,但如果前面大量依賴 Tool 執行結果,不要先假設所有工具執行細節都會原封不動帶到新分支。碰到很依賴工具輸出的工作,我還是會先確認新分支裡需要的關鍵資料有沒有跟過來。

對話累積太長,上下文就需要整理,用的指令是 /compress。
Compress 中文就是「壓縮」。
這裡壓縮指的不是像 zip 那樣壓縮檔案,壓縮的是這場 Session 對話的上下文。
前面講過,Hermes 在工作時會帶著前面的資訊往下走。但模型能處理的 Context Window(上下文視窗)並不是無限大,所以 Hermes 本身就有自動壓縮機制。
當累積的內容到達設定的門檻後,它會開始整理上下文:保留開頭一小段與近期的對話內容,中間較早的內容則整理成摘要;要注意部分較舊、較長的 Tool 執行結果也可能先被清掉。。
看到這裡,很自然會有一個問題:
既然 Hermes 自己會壓縮,我為什麼還要手動輸入
/compress?
因為系統知道「上下文用了多少」,但它不知道你的工作「做到哪裡剛好告一段落」。
例如我正在做明年度預算規劃。
前半段可能花了很多時間:
整理去年支出、查不同部門的異常費用、確認哪些一次性成本明年不會再發生,最後才整理出明年的預算假設。
做到這裡,其實已經是一個非常清楚的分界線。
接下來我要做的是:
根據已經確認的假設,正式開始做明年預算。
這時前面那些探索過程,不一定還需要逐字逐句跟著我往下走。
我可以主動下壓縮指令:
/compress
或者希望整理時特別保留某個重點項目:
/compress focus [強調要特別保留的重點項目]
甚至,Hermes 目前也支援 /compress here [N],可以指定最近幾輪對話保持原樣,只壓縮更前面的內容。
例如:
/compress here 5
意思就是最近五輪先不要動,前面的內容再整理。
這讓手動壓縮不只是「Context 快爆了,快救救我」,也可以變成一種主動整理工作脈絡的方法。
這裡有一件事很重要。
/compress 不是把一個 100 MB 的 ZIP 解壓後還能百分之百還原的那種壓縮(專有名詞是無損壓縮)。
它的原理是會做成摘要。
Hermes 目前的壓縮流程會保留近期內容,把中間較早的工作整理成結構化摘要;較舊的大型 Tool output 也可能被移除或縮減。
所以壓縮之後,大方向、重要決策、目前進度可以留下來,但某些很細的過程不一定還維持原貌。
這也是為什麼別把 /compress 理解成「越早壓越省,沒事就壓一下」。
如果接下來還需要反覆核對前面的原始細節,就先不要急著整理。
反過來,如果上一階段已經確定完成,真正需要帶往下一階段的只剩幾個結論,那就是一個很適合的時機。
R森小叮嚀
主動做壓縮上下文最好的時機,是「目前做事做到告一段落了」的時間點,盡量不要累積到快滿了讓系統觸發自動壓縮

回頭看這三個指令,它們處理的問題其實很不一樣。
/title 處理的是:這個對話 Session 現在叫什麼,之後我要透過名稱可以找回來。
/branch 處理的是:同一個起點開始出現兩種不同做法,要不要把它們拆成兩條乾淨的分支平行宇宙。
/compress 處理的是:工作還要繼續往下做,哪些舊脈絡可以濃縮,替後面的工作騰出上下文空間。
並非把所有資料塞給它充滿上下文,就代表它會越做越好。有時候,知道什麼該留下、什麼該分開、什麼已經可以濃縮,反而會讓後面的工作更乾淨,降低已經不相關的舊資訊繼續干擾後面對話 AI 的判斷。
